import Vue from 'vue'

import 'normalize.css/normalize.css' // a modern alternative to CSS resets

import Element from 'element-ui'
import './styles/element-variables.scss'

import '@/styles/index.scss' // 全局css样式

import App from './App'
import store from './store'
import router from './router'

import './icons' // icon
import './permission' // permission control
import './utils/error-log' // error log
import hasPermission from "@/directive/permission"; // 权限判断指令
import Pagination from '@/components/Pagination'

// 全局引入ElementUI
Vue.use(Element, {
  size: store.getters.size // 设置ElementUI默认尺寸
})

// 全局挂载自定义指令，用于按钮权限控制
// 未被全局挂载的指令，需要在页面手动引入后，才能使用
Vue.use(hasPermission)

// 隐藏生产环境控制台提示信息
Vue.config.productionTip = false

// 全局引入自定义分页插件
Vue.component('Pagination', Pagination)

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
